package com.zzyl.service.impl;

import com.zzyl.dto.LoginDto;
import com.zzyl.mapper.LoginMapper;
import com.zzyl.service.LoginService;
import com.zzyl.utils.JwtUtil;
import com.zzyl.vo.UserVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.DigestUtils;

import java.util.HashMap;
import java.util.Map;

/**
 * @Description
 * @Author Fan Jiajun
 * @Date 2025年5月11日
 */

@Service
public class LoginServiceImpl implements LoginService {

    @Autowired
    private LoginMapper loginMapper;

    @Override
    public UserVo login(LoginDto loginDto) {
        // 1.根据用户名和密码查询用户信息
        UserVo userVo = loginMapper.login(loginDto);

        // 2.如果不为空说明用户名和密码正确
        if(userVo != null){
            // 密码置空
            userVo.setPassword("");

            // 1.设置jwt令牌中需要保存的数据
            Map<String,Object> map = new HashMap<>();
            map.put("id",userVo.getId());
            map.put("username",userVo.getUsername());

            // 2.生成jwt令牌
            userVo.setUserToken(JwtUtil.createJWT("itheima",600000,map));

            // 3.返回封装后数据
            return userVo;
        }

        return null;
    }
}
